import {toString} from "../../../shared/util";
import {renderList} from "./render-list";
import {renderStatic} from "./render-static";
import {createTextVNode} from "./createTextVNode";
import {createEmptyVNode} from "./createEmptyVNode";
import {bindObjectKey} from "./bindObjectKey";
import {renderSlot} from "./render-slot";

/**
 * 为 Reactive 原型安装渲染函数
 * @param {Function} Reactive
 */
export function installRenderHelper (Reactive) {
    const prototype = Reactive.prototype;

    prototype._s = toString;
    prototype._l = renderList;
    prototype._m = renderStatic;
    prototype._v = createTextVNode;
    prototype._e = createEmptyVNode;
    prototype._b = bindObjectKey;
    prototype._t = renderSlot;

}
